package com.admin_system.utils;

import com.admin_system.mapper.UserMapper;
import com.admin_system.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 用户工具类
 * 提供与用户相关的实用方法
 */
@Component
public class UserUtils {

    private static UserMapper userMapper;
    
    @Autowired
    public void setUserMapper(UserMapper userMapper) {
        UserUtils.userMapper = userMapper;
    }
    
    /**
     * 根据用户名获取用户的真实姓名
     * 如果找不到用户或真实姓名为空，则返回用户名
     * 
     * @param username 用户名
     * @return 真实姓名，如果不存在则返回用户名
     */
    public static String getRealNameByUsername(String username) {
        if (username == null || username.isEmpty()) {
            return "系统用户";
        }
        
        try {
            if (userMapper == null) {
                return username; // UserMapper未注入时返回用户名
            }
            
            User user = userMapper.findByUsername(username);
            if (user != null && user.getFullName() != null && !user.getFullName().isEmpty()) {
                return user.getFullName();
            } else {
                return username;
            }
        } catch (Exception e) {
            // 发生异常时返回原用户名
            return username;
        }
    }
} 